package com.yuelao.yuelao_backend.dto.request;

import lombok.Data;
import java.time.LocalDate;
import java.util.List;

/**
 * 用户引导信息请求，继承自 UpdateUserRequest，简化处理
 * 实际项目中可能需要更细致的字段控制
 */
@Data
public class SubmitGuideRequest {
    private String nickname;
    private String gender;
    private LocalDate birthdate;
    private String avatar;
    private String bio;
    private Integer height;
    private String education;
    private String occupation;
    private String income;
    private String school;
    private String hometownProvince;
    private String hometownCity;
    private String residenceProvince;
    private String residenceCity;
    private List<String> hobbies;
    private List<String> purposes;
    private String house;
    private String car;
    private String maritalStatus;
    private String wechat;
    private String qq;
    private List<String> albumUrls;
    private String introduction;
    private String requirements;

    // 转换为 UpdateUserRequest，方便复用 UserService 的更新逻辑
    public UpdateUserRequest toUpdateUserRequest() {
        UpdateUserRequest request = new UpdateUserRequest();
        request.setNickname(this.nickname);
        request.setGender(this.gender);
        request.setBirthdate(this.birthdate);
        request.setAvatar(this.avatar);
        request.setHeight(this.height);
        request.setEducation(this.education);
        request.setOccupation(this.occupation);
        request.setIncome(this.income);
        request.setSchool(this.school);
        request.setHometownProvince(this.hometownProvince);
        request.setHometownCity(this.hometownCity);
        request.setResidenceProvince(this.residenceProvince);
        request.setResidenceCity(this.residenceCity);
        request.setHobbies(this.hobbies);
        request.setPurposes(this.purposes);
        request.setHouse(this.house);
        request.setCar(this.car);
        request.setMaritalStatus(this.maritalStatus);
        request.setWechat(this.wechat);
        request.setQq(this.qq);
        request.setAlbumUrls(this.albumUrls);
        request.setIntroduction(this.introduction);
        request.setRequirements(this.requirements);
        return request;
    }
}